//<CRE, <SIL, and <CIL 
cmp dword [eax], {<CRE
jnz :END<CRE
mov ecx, [49E1E8]
or ecx, 8
mov [49E1E8], ecx
call 40D440
add tscloc, 4
jmp parserend
:END<CRE

cmp dword [eax], {<SIL
jnz :END<SIL
mov eax, tscloc
add eax, 4
push eax
call ascii2num
add esp, 4
push eax
call 40DB40
add esp, 4
add tscloc, 8
jmp parserend
:END<SIL

cmp dword [eax], {<CIL
jnz :END<CIL
call 40DB60
add tscloc, 4
jmp parserend
:END<CIL

//<XX1 command
cmp dword [eax], {<XX1
jnz :END<XX1
mov [ebp-2c], 1
mov eax, tscloc
add eax, 4
push eax
call ascii2num
add esp, 4
push eax
mov eax, [49E458]
push eax
call 40db70
add esp, 8
mov [ebp-C8], eax
test eax, eax
je :XX1Zero
cmp [ebp-c8], 2
je :XX1Two
jmp :XX1Neither
:XX1Zero
xor eax, eax
jmp 425765
:XX1Two
mov eax, 2
jmp 425765
:XX1Neither
add tscloc, 8
jmp parserend
:END<XX1

//Vanilla <TRA
//<TRAWWWW:XXXX:YYYY:ZZZZ
cmp dword [eax], {<TRA
jnz :END<TRA
mov eax, tscloc
add eax, 4
push eax
call ascii2num
add esp, 4
mov [ebp-24], eax
mov eax, tscloc
add eax, 9
push eax
call ascii2num
add esp, 4
mov [ebp-4], eax
mov eax, tscloc
add eax, 0E
push eax
call ascii2num
add esp, 4
mov [ebp-C], eax
mov eax, tscloc
add eax, 13
push eax
call ascii2num
add esp, 4
mov [ebp-8], eax
push eax
push [ebp-c]
push [ebp-4]
push [ebp-24]
call 420BE0
add esp, 10
test eax, eax
jnz :MapOkay
push 0
push 48c9CC
push 48C8D4
push [49e458]
data FF 15 C4 C1 48 00
xor eax, eax
jmp 425765
:MapOkay
jmp parserend
:END<TRA

//<OTR by Miccs
//<OTRXXXX:YYYY, use <MOV at the start of the event you enter the next room in. It is also advised to use <MOV when you start a new save file in your mod.
cmp dword [eax], {<OTR
jnz :END<OTR
mov eax, tscloc
add eax, 4
push eax
call ascii2num
add esp, 4
mov [ebp-C], eax
mov eax, tscloc
add eax, 9
push eax
call ascii2num
add esp, 4
mov [ebp-8], eax
push eax
push [ebp-c]
call 420BE0
add esp, 10
test eax, eax
jnz :MapOkay
push 0
push 48c9CC
push 48C8D4
push [49e458]
data FF 15 C4 C1 48 00
xor eax, eax
jmp 425765
:MapOkay
jmp parserend
:END<OTR

//<MIM by Lace
//<MIMXXXX, changes the player skin to the next MyChar set. Works with the player, NPC 111, NPC 112, and NPC 150.
cmp dword [eax], {<MIM
jnz :END<MIM
mov eax, TSCLoc
add eax, 4
push eax
call ascii2num
add esp, 4
mov [49e184], eax
add tscloc, 8
jmp parserend
:END<MIM

//<PHY by VoidMage_Lowell
//<PHYXXXX:YYYY, set up XXXX to 0000-0015 to their vanilla values (YYYY) found through the Hackinator or the <TSC+ guide in Booster's Lab.
//Can be modified for speed, gravity, jump height, etc.
cmp dword [eax], {<PHY
jnz :END<PHY
mov edx, tscloc
add edx, 4
push edx
call ascii2num
add esp, 4
mov [ebp-8], eax
cmp eax, 11
jb :PHYTypeOkay
add tscloc, D
jmp parserend
:PhyTypeOkay
mov edx, tscloc
add edx,9
push edx
call ascii2num
add esp, 4
mov [ebp-c], eax
mov edx, [ebp-8]
shl edx, 1
add edx, 49E060
mov ecx, [ebp-0C]
mov word [edx], cx
add tscloc, D
jmp parserend
:END<PHY

//<VAR and variants by Noxid
//<VARXXXX:YYYY, Stores a number in a variable, VARs 0008-0123 are writeable. Don't set XXXX to VXXX.
cmp dword [eax], {<VAR
jnz :END<VAR
add eax, 4
push eax
call 48bc00
add esp, 4
add tscloc, 0D
jmp parserend
:END<VAR

//<VAOXXXX$YYYY, Performs an operation, can use a math symbol in place of $ (+, -, *, or /). Don't set XXXX to VXXX.
cmp dword [eax], {<VAO
jnz :END<VAO
add eax, 4
push eax
call 48bc3c
add esp, 4
add tscloc, 0D
jmp parserend
:END<VAO

//<VAZXXXX:YYYY, Zeroes out variables starting at variable X, for Y number of variables in a row. Don't set XXXX to VXXX.
cmp dword [eax], {<VAZ
jnz :END<VAZ
add eax, 4
push eax
call 48bcF2
add esp, 4
add tscloc, 0D
jmp parserend
:END<VAZ

//<VAJWWWW:XXXX:YYYY:ZZZZ, Performs an event based on logic applied to a variable. It is okay to set WWWW/XXXX/ZZZZ to VWWW/VXXX/VZZZ.

//VAJ Key: WWWW - Variable, XXXX - Number, YYYY - Equation, ZZZZ - Event to jump to.
//YYYY Key: 0000 - W is equal to X, 0001 - W is not equal to X, 0002 - W is greater than X, 0003 - W is less than X, 0004 - W is greater than or equal to X, 0005 - W is less than or equal to X.
cmp dword [eax], {<VAJ
jnz :END<VAJ
add eax, 4
push eax
call 48bD3F
add esp, 4
test eax, eax
jnz :VAJLabel
add tscloc, 17
:VAJLabel
jmp parserend
:END<VAJ

//<RNDXXXX:YYYY:ZZZZ - Selects a random number between X and Y into variable Z. Don't set ZZZZ to VZZZ.
cmp dword [eax], {<RND
jnz :END<RND
add eax, 4
push eax
call 48bDF6
add esp, 4
add tscloc, 12
jmp parserend
:END<RND

//<BUY by BLink
//<BUYXXXX:YYYY, if you have X amount of money, run the rest of the event, if you don't, jump to Event Y.
CMP DWORD PTR DS:[EAX], {<BUY    //YUB< because little endianess
JNZ :END<BUY                       //Next TSC command
MOV ECX, DWORD PTR DS:[4A5AE0]
ADD ECX, 4
PUSH ECX
CALL ascii2num                         //get price
ADD ESP, 4
CMP EAX, DWORD PTR DS:[money_owned]
JNG :take_money                     
MOV EBX, DWORD PTR DS:[4A5AE0]      //u r a deadbeat
ADD EBX, 9
PUSH EBX
CALL ascii2num                        //get event num
ADD ESP, 4
PUSH EAX
CALL 421AF0                         //run event
ADD ESP, 4
JMP parserend
:take_money
SUB DWORD PTR DS:[money_owned], EAX      //monies taken
ADD DWORD PTR DS:[4A5AE0], D        //continue the event
JMP parserend
:END<BUY

//<SEL by BLink
//<SELXXXX, gives you X money
CMP DWORD PTR DS:[EAX],{<SEL
JNZ :END<SEL
MOV ECX,DWORD PTR DS:[4A5AE0]
ADD ECX,4
PUSH ECX
CALL ascii2num
ADD ESP,4
ADD DWORD PTR DS:[money_owned],EAX
ADD DWORD PTR DS:[4A5AE0],8
JMP parserend
:END<SEL

//<CMN by HaydenStudios
//<CMNXXXX:YYYY:ZZZZ, works just the same as the vanilla command <CMP, but does not produce smoke.
cmp dword [eax], {<CMN
jnz :END<CMN
mov edx, tscloc
add edx, 4
push edx
call ascii2num
add esp, 4
mov dword [ebp-0c], eax
mov eax, tscloc
add eax, 9
push eax
call ascii2num
add esp, 4
mov dword [ebp-8], eax
mov ecx, tscloc
add ecx, e
push ecx
call ascii2num
add esp,4
mov dword [ebp-24], eax
mov dl, byte [ebp-24]
push edx
mov eax, dword [ebp-8]
push eax
mov ecx, dword [ebp-0c]
push ecx
call :cmnCode
add esp, 0c
add tscloc, 12
jmp parserend
:END<CMN

//<LRX by Noxid
//<LRXXXXX:YYYY:ZZZZ, Jump to Event #XXXX by pressing left, Jump to Event #YYYY by pressing right, Jump to Event #ZZZZ by pressing Shoot.
cmp dword [eax], {<LRX
jnz :END<LRX
mov [ebp-2C], 1
mov [4a5afc], 4 ; do this to keep running this command every frame
mov eax, KeyPressed
test eax, LeftKey
jz :LRXNotLeft
mov edx, 4
jmp :LRXRunEvent
:LRXNotLeft
test eax, RightKey
jz :LRXNotRight
mov edx, 9
jmp :LRXRunEvent
:LRXNotRight
mov edx, JumpKey
or edx, ShootKey
test eax, edx
jz :LRXDone
mov edx, 0E
:LRXRunEvent
mov eax, tscloc
add eax, edx
push eax
call ascii2num
add esp, 4
push eax
call 421AF0 ; run event
add esp, 4
:LRXDone
jmp parserend
:END<LRX

//<NAM by Cultr1
//Use <NAMname$ for a name to go alongside <MSG (not as useful for <MS2, <MS3, use with <MS4 if there's no sprite for the namebox).
//Use <NAM$ to remove names for third person/<MS2-4/unnamed characters (it is advised to plug them in front of the command for those kinds of messages).
cmp dword [eax], {<NAM
jnz :END<NAM
mov edx, eax
add edx, 4
xor eax, eax
mov [ebp-2c], eax
jmp :NameLoop
:NameTop
inc [ebp-2C]
:NameLoop
mov eax, [ebp-2c]
add eax, edx
cmp byte [eax], 24
je :NameOutLoop
jmp :NameTop
:NameOutLoop
mov eax, [ebp-2C]
test eax, eax
jnz :AreLetters
mov [4BEF00], eax
mov [4BEF04], eax
add tscloc, 5
jmp parserend

:AreLetters
mov [4BEF04], eax
mov [4BEF00], 1
push eax
push edx
push 4BEF10
call 4813C0
add esp, 0C
mov eax, [ebp-2C]
add eax, 4BEF11
mov [eax], 0
mov eax, [ebp-2C]
add eax, 5
add tscloc, eax
jmp parserend
:END<NAM

//<FNJ by Noxid
//<FNJXXXX:YYYY, basically an inverse of <FLJ
cmp dword [eax], {<FNJ
jnz :END<FNJ
mov eax, tscloc
add eax, 4
push eax
call ascii2num
add esp, 4
mov [ebp-c], eax
mov eax, tscloc
add eax, 9
push eax
call ascii2num
add esp, 4
mov [ebp-24], eax
mov eax, [ebp-c]
push eax
call 40e930
add esp, 4
test eax, eax
jne :IsFlag
mov eax, [ebp-24]
push eax
call 421AF0
add esp, 4
jmp :FNJLabel
:IsFlag
add tscloc, 0D
:FNJLabel
jmp parserend
:END<FNJ

//<BBP by CarrotLord
//<BBPXXXX:YYYY, bump the player in direction X with Y upward force. Use 0000 and 0002 for direction X.
cmp dword [eax], {<BBP
jnz :END<BBP
mov edx, tscloc
add edx, 4
push edx
call ascii2num
add esp, 4
cmp eax, 2
jz :What
mov dword [49e66c], -1000
jmp :CarrotLordWhy
:What
mov dword [49e66c], 1000
:CarrotLordWhy
mov edx, tscloc
add edx, 9
push edx
call ascii2num
add esp, 4
sal eax, 3
neg eax
mov dword [49e670], eax
add dword tscloc, d
jmp parserend
:END<BBP